import PlatformTag from '@/components/Docs/components/PlatformTag';

This page provides an index of PageSpy core APIs and plugin APIs. Click the links to view detailed documentation.

Some APIs are only available on specific platforms, marked with the following tags:

| Platform     | Tags                           |
| ------------ | ------------------------------ |
| Browser      | <PlatformTag type="browser" /> |
| Mini Program | <PlatformTag type="mp" />      |
| React Native | <PlatformTag type="rn" />      |
| OpenHarmony  | <PlatformTag type="harmony" /> |

## PageSpy#pagespy

The PageSpy core class provides basic functionality for application debugging.

> In the following documentation, `$pageSpy` represents a PageSpy instance, i.e., `$pageSpy = new PageSpy(...)`

- [constructor()](./pagespy#constructor)
- [$pageSpy.updateRoomInfo()](./pagespy#updateRoomInfo)
- [$pageSpy.abort()](./pagespy#abort)
- [PageSpy.registerPlugin()](./pagespy#registerPlugin)
- [PageSpy.pluginsWithOrder](./pagespy#pluginsWithOrder)
- [$pageSpy.version](./pagespy#version)
- [$pageSpy.config](./pagespy#config)
- [$pageSpy.socketStore](./pagespy#socketStore)
- [$pageSpy.showPanel()](./pagespy#showPanel) <PlatformTag type="mp" />

## Plugins#plugins

### DataHarborPlugin#harbor

DataHarborPlugin is used for offline data caching and upload/download management.

> In the following documentation, `$harbor` represents a DataHarborPlugin instance, i.e., `$harbor = new DataHarborPlugin(...)`

- [constructor()](./data-harbor#constructor)
- [Operate log manually](./data-harbor#onOfflineLog)
- [$harbor.pause()](./data-harbor#pause)
- [$harbor.resume()](./data-harbor#resume)
- [$harbor.reharbor()](./data-harbor#reharbor)

### RRWebPlugin#rrweb

RRWebPlugin is used for recording and replaying user operations, making it easier to reproduce issue scenarios.

> In the following documentation, `$rrweb` represents an RRWebPlugin instance, i.e., `$rrweb = new RRWebPlugin(...)`

- [constructor()](./rrweb#constructor)